在這個系列裡,就像煮一鍋大鍋飯,把在這個題目之下的所有文件通通攪和在一起後,再搬上桌。然而因為深度學習這個主題太過熱門,相對於建構深度學習模型的架構也演變的極為迅速。筆者還記得在前兩個禮拜,開始閱讀撰寫有關 TorchScript 的文章,今日再拜訪 PyTorch 官方網站,卻發現已經把支援 XLA 列入 TorchScript 的功能之一。古云『學如逆水行舟,不進則退』。說地一點都沒錯!
雖然深度學習的架構蓬勃發展,但本系列特別只拿 PyTorch 和 Tensorflow “大做文章”,一是兩個架構的設計構想完全不相同,像極了他們的前身:以 Lua 寫成的 Torch 和以 python 寫成的 Theano。Torch 因為 Lua 非相當歡迎的語言,在早期深度學習的架構圈子裡而遭到冷落,然而 PyTorch 挟著 Python 的廣大使用者,居然讓 Tensorflow 在 2.0 大幅更改他們的 Python API,使它能更像 Python 一點,這樣的結果當然要感謝 Python 廣大的社群讓巨人改變。
我們也很興奮看到像 ONNX 這樣開放式的模型交換格式,被定義開發出來並且被許多大公司採納。或許有一天我們不需要去閱讀不同架構的程式碼了解運算元的計算邏輯,而如 RESTful API,由 ONNX 提供統一的客戶端介面作為機械學習服務的接口。
筆者仍會陸續更新文章,請大家移駕到筆者的 facebook 粉絲頁,追蹤粉絲頁情報,了解文章更新的速度,謝謝各位。